package com.eastfair.projectcore.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.List;

/**
 * <p>
 * 实体类
 * 项目
 * </p>
 *
 * @author ligang
 * @since 2021-08-30
 */
@Data
@ApiModel(value = "ProjectDbDTO", description = "项目")
public class ProjectDbDTO implements Serializable {

    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "项目id")
    private Long id;

    /**
     * 项目名称
     */
    @ApiModelProperty(value = "项目名称")
    @Size(max = 255, message = "项目名称长度不能超过255")
    private String name;
    /**
     * 项目英文名
     */
    @ApiModelProperty(value = "项目英文名")
    @Size(max = 255, message = "项目英文名长度不能超过255")
    private String enName;
    /**
     * 项目编码
     */
    @ApiModelProperty(value = "项目编码")
    @NotEmpty(message = "请填写项目编码")
    @Size(max = 255, message = "项目编码长度不能超过255")
    private String code;
    /**
     * 行业
     */
    @ApiModelProperty(value = "行业")
    @Size(max = 32, message = "行业长度不能超过32")
    private String industryId;
    /**
     * 主办
     */
    @ApiModelProperty(value = "主办")
    @Size(max = 64, message = "主办长度不能超过64")
    private String organizer;
    /**
     * 英文主办
     */
    @ApiModelProperty(value = "英文主办")
    @Size(max = 255, message = "英文主办长度不能超过255")
    private String enOrganizer;
    /**
     * DB后缀名
     */
    @ApiModelProperty(value = "DB后缀名")
    private Integer dbSuffix;
    /**
     * 表后缀名
     */
    @ApiModelProperty(value = "表后缀名")
    private Integer tableSuffix;
    /**
     * 是否生效(默认1：可用 0:不可用)
     */
    @ApiModelProperty(value = "是否生效(默认1：可用 0:不可用)")
    private Integer isEnabled;
    /**
     * 是否删除(默认0：未删除 1:已删除)
     */
    @ApiModelProperty(value = "是否删除(默认0：未删除 1:已删除)")
    private Integer isDeleted;

    /**
     * 菜单id集合
     */
    @ApiModelProperty(value = "菜单id集合")
//    @NotEmpty(groups = {udpateRole.class},message = "请填写菜单id集合")
    private List<Long> menuIds;
    /**
     * 是否为项目管理员 1是 0否
     */
    @ApiModelProperty(value = "是否为项目管理员 1是 0否")
    private Integer isAdmin;
    /**
     * 角色id集合
     */
    @ApiModelProperty(value = "角色id集合")
//    @NotEmpty(groups = {udpateRole.class},message = "请填写菜单id集合")
    private List<Long> roleIds;
}
